package com.enation.app.web.core.service;

import java.util.Map;

import com.enation.app.web.core.model.Member;
import com.enation.framework.database.Page;

/**
 * 
 * @function 成员接口
 * @author 闯哥
 * @time 2016年11月30日 下午11:23:33
 */
public interface IMemberManager {

	/**
	 * 
	 * @function 注册成员
	 * @param member
	 *            ----成员实体 :
	 */
	public void registor(Member member);

	/**
	 * 
	 * @function 通过学号查看是否注册过
	 * @param student_number
	 *            ----学号
	 * @return :注册:1，没注册:0
	 */
	public int checkIsRegister(String student_number);

	/**
	 * 
	 * @function 更新最后登录时间和登录次数
	 * @param member_id
	 *            ----学号id
	 * @param logincount
	 *            ----登录次数
	 * @param lastlogin
	 *            ----最后登录时间 :
	 */
	public void logincountAndlast(Integer member_id, String logincount,
			Long lastlogin);

	/**
	 * 
	 * @function 通过学号查询
	 * @param student_number
	 *            ----学号
	 * @return :成员实体
	 */
	public Member findByStudentNumber(String student_number);

	/**
	 * 
	 * @function 检测昵称是否使用过
	 * @param nick_name
	 *            ----昵称
	 * @return :注册:1，没注册:0
	 */
	public int checkNickName(String nick_name);

	/**
	 * 
	 * @function 查询成员列表
	 * @param pageNo
	 *            ----当前页
	 * @param pageSize
	 *            ----每页个数
	 * @param result
	 *            ----查询条件
	 * @return :成员集合
	 */
	public Page findByPage(int pageNo, int pageSize, Map<String, String> result);

	/**
	 * 
	 * @function 通过id集合来批量删除成员
	 * @param member_ids
	 *            :----成员数组
	 */
	public void delete(String member_ids);

	/**
	 * 
	 * @function 获取当前登录的用户
	 * @return :用户实体
	 */
	public Member getCurrentLogin();

	/**
	 * 
	 * @function 通过id查询会员
	 * @param member_id
	 *            ----会员id
	 * @return :会员实体
	 */
	public Member findById(Integer member_id);

	/**
	 * 
	 * @function 更新会员
	 * @param member
	 *            :会员实体
	 */
	public void update(Member member);

	/**
	 * 
	 * @function 通过学号和密码查询
	 * @param student_number
	 *            ----学号
	 * @param password
	 *            ----未加密的密码
	 * @return :会员实体
	 */
	public Member findByStudentNumberAndPassword(String student_number,
			String password);
}
